#include <stdio.h>  
#define N 14       // 预处理 可以改变数组的大小  
int main()  
{  
    int i = 0, j = 0, k = 0, n = 0;  
    int a[N][N];  //定义二维数组a[N][N]  
  
    printf("请输入要打印的行数:\n");  
   
    scanf("%d",&n);  
    for( i = 1; i <= n; i++ )  
    {  
        a[i][1] = a[i][i] = 1;  // 两边的数令它为1，因为循环从1开始  
    }  
    for( i = 3; i <= n; i++)  
    {  
        for( j = 2; j <= i-1; j++)  
            a[i][j] = a[i-1][j-1] + a[i-1][j];   //杨辉三角用二维数组算的公式；  
    }  
    for( i = 1; i <= n; i++)  
    {  
        for( k = 1; k <= n-i; k++)          // 补每一行前面的空格  
            printf("   ");  
        for( j = 1; j <= i; j++)   //当j<=i时输出的是需要的数  a[3][1],a[3][2],a[3][3] 只有这几个数 后面的不需要  
            printf("%6d",a[i][j]);  
        printf("\n");  
    }  
  
    printf("\n");  
  
  
    system("pause");  
    return 0;  
}  